home *** CD-ROM | disk | FTP | other *** search
- /*
- ** $VER: Compile 0.003 (17 Sep 1994) ***
- **
- ** (c) © 1994 Oliver Clouth
- **
- ** Function : Compilieren
- **
- ** ACHTUNG: Es wird nur der Pfad des Textes angegeben, es muß also
- ** vorher der Text abgespeicher werden.
- **
- ** Eine Möglichkeit dieses zu ändern siehe weiter unten.
- **
- ** Falls MPascal noch nicht gestartet wurde, wird dies vorher noch
- ** erledigt
- **
- */
-
-
- OPTIONS RESULTS /* enable return codes */
-
- if (LEFT(ADDRESS(), 6) ~= "GOLDED") then /* not started by GoldEd ? */
- address 'GOLDED.1'
-
- 'LOCK CURRENT' /* lock GUI, gain access */
- OPTIONS FAILAT 6 /* ignore warnings */
- SIGNAL ON SYNTAX /* ensure clean exit */
-
- host = ADDRESS() /* get GED's port */
-
- /* ------------------------- INSERT YOUR CODE HERE: ------------------ */
-
- 'QUERY CAT'
- isGerman = (result = "deutsch")
-
- 'QUERY ANYTEXT'
-
- if (result = 'TRUE') then
-
- do
- 'QUERY DOC VAR OLDNAME' /* remember current file name */
-
- 'QUERY DOC VAR FNAME' /* Filename mit Pfad in Var FNAME */
- /* FNAME wird dem Compiler übergeben */
-
- shell /* address shell */
-
- ok = (RC = 0)
-
- shell /* address host (GoldED) */
-
- 'NAME NEW ' || oldname /* restore old file name */
-
- END
-
- else do
-
- if (isGerman) then
- 'REQUEST BODY="Kein Text vorhanden ?!"'
- else
- 'REQUEST BODY="Text buffer is empty ?!"'
- end
-
- 'UNLOCK' /* VERY important: unlock GUI */
-
- IF ~show('p', 'MPASCAL') THEN
-
- do
- shell /* talk to AmigaDos */
- 'run >NIL: PASCAL:BIN/MPASCAL -c S:MPascal.config -r MPASCAL'
- 'WaitForPort MPASCAL'
- end
-
- IF show('p', 'MPASCAL') THEN
-
- do
- ADDRESS MPASCAL
- 'compile 'FNAME
- end
- else
- do
- ADDRESS (host)
- 'REQUEST BODY "Couldn''t launch MPASCAL ?!"'
- end
-
- EXIT
-